Bluetooth is a technical standard that facilitates communication between wireless devices such as mobile phones, personal digital assistants (PDAs), handheld computers, wireless enabled laptops, desktop computers, and various peripheral devices such as mice and keyboards. For example, Bluetooth-enabled wireless devices are capable of making phone calls, synchronizing data with desktop computers, sending and receiving faxes, and printing documents. Bluetooth technology is a low-power, short-range wireless technology commonly used to provide a replacement for the serial cable. Bluetooth can connect a wide range of personal, professional, and domestic devices together wirelessly, thus providing a fast, convenient way to exchange information over a short distance wireless network.
A piconet refers to a short-range wireless network used to connect devices enabled with Bluetooth, or a similar technology, in an ad hoc fashion. A piconet starts with two connected devices and may grow to a maximum size of typically eight connected devices. Piconet devices, such as Bluetooth-enabled devices, are peer units that have identical implementations with respect to communication over the piconet. However, when a piconet is established, one unit is designated the master device and one or more other devices are designated as slaves for the duration of the piconet connection. All devices on a piconet share the same physical channel for communications at a given time, which is defined by parameters unique to the master device, such as the master's network address. The master device uses its clock and hopping sequence to synchronize the slave devices in the piconet by transmitting to its slaves in time slots according to a predetermined polling interval, or at transmitting data to its slaves at other times determined by the master.
However, the master device and slave devices on a piconet may perform other tasks which interfere with the master-slave communication link in the piconet. For example, since a single Bluetooth-enabled device may be a member of multiple piconets, such a device may try to communicate with other Bluetooth-enabled devices and attempt to form or join additional piconets. During these attempts, devices commonly lose contact temporarily with the other devices in their existing piconet. A slave device that wishes to remove itself from a piconet may do so by simply ignoring the periodic communications sent by the piconet master device. When a slave device has been out of communication with its piconet master device for a predetermined length of time, the slave device may be actively disconnected from the master, and thus removed from the piconet. This predetermined length of time is often unknown to the slave hosts, resulting in many premature and undesirable slave detachments. Such undesirable detachments, or connection losses, may require the master and slave device subsequently to reconnect. This reconnection process is potentially time and resource consuming for the slave and master devices, and may degrade performance throughout the piconet.
FIG. 1 is an example of a lost connection between a master and slave in a piconet. The horizontal lines represent the progression of time for a master and slave device in a piconet or similar network. In this example, the master device transmits periodic POLL packets to the slave, which responds with NULL packets sent back to the master. However, in FIG. 1, when the slave temporarily becomes out of contact with the master during an inquiry or paging procedure used to identify and connect to other devices, the master starts a timeout clock at time T11 to measure the length of time that the slave has been out of contact. If the slave is still out of contact when this timeout clock reaches a predetermined link supervision timeout value, the master may close the master-slave connection and thereby remove the slave from the piconet. In FIG. 1, while the slave is performing the inquiry/paging procedure, discussed in detail below, the slave host might not be aware of the link supervision timeout value, and thus does not know when it will be disconnected from the master. Further, the master may change this link supervision timeout value at any time, without the knowledge or consent of the slave hosts in the piconet. Such a change during the lifetime of a piconet further prevents the slave from adjusting its behavior to reduce the likelihood of timeout connections losses. Thus, in the example shown in FIG. 1, the slave does not reestablish contact with the master device and is subsequently disconnected from the piconet, at time T12, when the link supervision timeout period is reached. Accordingly, there remains a need for an improved method for managing communications between master and slave devices in a network.